#include <stdio.h>

//内存对齐的规则：以最大的数据类型进行对齐
//放在一排的小数据类型也要对齐

//由小到大放，最省空间
//不同的数据结构中的变量不能够一起排内存长度
struct Test
{
    // char b;
    // int a;
    // double c; //输出16

    // char b;
    // double c;  //int* c 指针占8个字节
    // int a;  //输出24 

    char a[16];
    int b;
    int* c; 

};

struct Test2
{
    struct Test t;
    int a;
};

int main()
{
    struct Test t;
    printf("%ld\n",sizeof(t));
    printf("%p %p %p %p\n",&t, &t.a, &t.b, &t.c);
    return 0;
}